package xx.iverson.util;

/**
 * xx.iverson.util.Main
 * 描述：
 * on 2025/7/25-上午10:27
 *
 * @author weijx
 */

public class Main {
    public static void main(String[] args) {
      String a=  formatNumberedList("|你好|这是原因|这是第三条 | |问题|有问题");
        System.out.println(a);
        System.out.println("格式化完成！");
    }
    public static String formatNumberedList(String input) {
        if (input == null || input.trim().isEmpty()) {
            return "";
        }

        // 统一换行符格式
        input = input
                .replace("\r\n", "\n")
                .replace("\r", "\n")
                .replace("\\r", "\n");

        // 首先将换行符替换为竖线，统一分隔符
        String unifiedInput = input.replace("\n", "|");

        // 标准化输入 - 处理可能的多余空格
        String standardized = unifiedInput.trim();

        // 分割字符串，保留空元素以正确处理末尾的|
        String[] parts = standardized.split("\\|", -1);

        StringBuilder result = new StringBuilder();
        int count = 0;

        for (int i = 0; i < parts.length; i++) {
            String part = parts[i].trim();
            if (!part.isEmpty()) {
                count++;
                result.append(count).append("、").append(part);

                // 除了最后一个有效项外，其他项后添加换行
                if (i < parts.length - 1) {
                    // 检查后续是否还有有效项，如果有则添加换行
                    boolean hasMoreItems = false;
                    for (int j = i + 1; j < parts.length; j++) {
                        if (!parts[j].trim().isEmpty()) {
                            hasMoreItems = true;
                            break;
                        }
                    }
                    if (hasMoreItems) {
                        result.append("\n");
                    }
                }
            }
        }

        return result.toString();
    }

}
